//index.js


//获取应用实例
const app = getApp()

var api = require('../../js/api.js')
var utilBT = require('../../js/utilBT.js');
// var utilAudio = require('../../js/utilAudio.js');
var utilH = require('../../js/utilHeart.js');

Page({
    data: {
        hasXieyi: false,

        //是否展示授权页面
        // onOff: false,
        // showModal: false, //弹窗
        // userInfo: {
        //     avatarUrl: '../../img/wx_login.png',
        //     nickName: 'AAACCC'
        // },
        //判断小程序的API，回调，参数，组件等是否在当前版本可用。
        canIUse: wx.canIUse('button.open-type.getUserInfo'),
        isHide: true, //true: 未授权


        logo:'',
        motto: 'Hello World',
        userInfo: {},
        hasUserInfo: false,
        canIUse: wx.canIUse('button.open-type.getUserInfo')

    },
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        this.onLoad()

        //当逻辑执行完后关闭刷新
        wx.stopPullDownRefresh()
    },


    // =============================弹窗 授权  start============================
    // 外面的弹窗
    btn: function () {
        this.setData({
            showModal: true
        })
    },

    // 禁止屏幕滚动
    preventTouchMove: function () {
    },

    // 弹出层里面的弹窗
    ok: function () {
        this.setData({
            showModal: false
        })
    },


    getPhoneNumber(e) {
        var that = this
        let msg = e.detail.errMsg
        app.log(msg)

        if ('getPhoneNumber:fail user deny' == msg) {
            app.log('====>>用户拒绝获取手机号')
        } else if ('getPhoneNumber:ok' == msg) {
            app.log('====>>用户允许获取手机号')

            var parm = e.detail

            api.bindPhone(parm).then(res => {
                that.setData({
                    showModal: false
                })
                that.toJiance()
            })

        }


    },


    // =============================弹窗 授权  end============================

    onLoad: function () {
        var that = this
        utilBT.bindBT(wx.getStorageSync('equ_name'), wx.getStorageSync('equ_did'), wx.getStorageSync('equ_mac'))
        let setNickName = wx.getStorageSync('set_equ_nick_name')
        let setMac = wx.getStorageSync('set_equ_mac')
        if (setNickName != null && setNickName != '') {

            app.globalData.setmac.mac = setMac
            app.globalData.setmac.nickName = setNickName
        }
        app.log('====>>RAM equ')
        app.log(app.globalData.equ)

        // utilAudio.getStoreAudio()

        app.log('====>>RAM audio')
        app.log(app.globalData.audio)

        utilBT.reConn()
        // utilAudio.initAudio()

        // utilAudio.checkStoreAudio()

        utilH.getStorage('aim')
        utilH.getStorage('hrb')

        wx.getSystemInfo({
            success: function (res) {
                app.log(res.system)
                if (res.system.toUpperCase().indexOf("IOS") > -1) {
                    app.globalData.isA = false
                }
            }
        })

        that.setData({
            logo: app.globalData.logo
        })


        // =====================检查授权 start ==================
        var that = this;
        // 查看是否授权

        wx.getSetting({
            success: function (res) {
                if (res.authSetting['scope.userInfo']) {

                    app.log(res)
                    app.log('====>>已授权获取userInfo')
                    that.setData({
                        isHide: false
                    });

                    wx.login({
                        success: function (res) {

                            app.log('res1')
                            app.log(res)
                            wx.getUserInfo({
                                success: function (res) {
                                    app.log('==>>校验是否授权')
                                    app.log('res2')
                                    app.log(res)
                                    app.globalData.userInfo = res.userInfo

                                    wx.showToast({
                                        title: '自动登录中',
                                        icon: 'loading',
                                        duration: 5000
                                    })
                                    // that.setData({
                                    // 	userInfo: res.userInfo
                                    // })
                                    // 用户已经授权过,不需要显示授权页面,所以不需要改变 isHide 的值
                                    // 根据自己的需求有其他操作再补充
                                    // 我这里实现的是在用户授权成功后，调用微信的 wx.login 接口，从而获取code
                                    api.wxlogin(res.encryptedData, res.iv)
                                        .then(res => {
                                            app.log('===========login============')
                                            app.log(res)
                                            that.setData({
                                                showModal: !res.hasPhone,
                                                // onOff: true
                                            })
                                            app.log('==>>showModal:' + that.data.showModal)
                                            app.log('==>>hasPhone:' + res.hasPhone)
                                            if (res.hasPhone) {
                                                that.toJiance()
                                            }

                                        })


                                }
                            })
                        }
                    })

                } else {
                    // 用户没有授权
                    app.log('===>>用户没有授权')
                    wx.clearStorage()
                    wx.showModal({
                        title: '是否授权登录',
                        content: '授权登录后方可使用小程序所有功能',
                        confirmText: '立即授权',
                        cancelText: '我先看看',
                        showCancel: true,
                        success(res) {
                            if (res.confirm) {
                                app.log('====>>token过期，用户点击确定')
                                // 改变 isHide 的值，显示授权页面
                                that.setData({
                                    isHide: true
                                });
                            } else if (res.cancel) {
                                app.log('====>>token过期，用户点击取消')
                                that.toJiance()
                            }
                        }
                    })


                }
            },
            fail: function (err) {

                app.log('===>>未授权')
                app.log(err)
                that.setData({
                    isHide: true
                });
            }
        });

        // =====================检查授权 end==================


        if (app.globalData.userInfo) {
            this.setData({
                userInfo: app.globalData.userInfo,
                hasUserInfo: true
            })
        } else if (this.data.canIUse) {
            // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
            // 所以此处加入 callback 以防止这种情况
            app.userInfoReadyCallback = res => {
                this.setData({
                    userInfo: res.userInfo,
                    hasUserInfo: true
                })
            }
        } else {
            // 在没有 open-type=getUserInfo 版本的兼容处理
            wx.getUserInfo({
                success: res => {
                    app.globalData.userInfo = res.userInfo
                    this.setData({
                        userInfo: res.userInfo,
                        hasUserInfo: true
                    })
                }
            })
        }

        // app.log('====缓存中的equmac')
        // app.log(wx.getStorageSync('equmac'))


    },
    getUserInfo: function (e) {
        app.log('====>>getUserInfo')
        app.log(e)
        app.globalData.userInfo = e.detail.userInfo
        this.setData({
            userInfo: e.detail.userInfo,
            hasUserInfo: true
        })
    },


    // ==================绑定用户 start==========================
    bindGetUserInfo: function (e) {
        app.log('====>>bindGetUserInfo')
        app.log(e)
        if (e.detail.userInfo) {
            //用户按了允许授权按钮
            var that = this;
            // 获取到用户的信息了，打印到控制台上看下
            app.log("用户的信息如下：");
            app.log(e.detail.userInfo);
            //为用户注册登录==============>>
            var Promise = api.wxlogin(e.detail.encryptedData, e.detail.iv)
            //授权成功后,通过改变 isHide 的值，让实现页面显示出来，把授权页面隐藏起来

            that.setData({
                userInfo: e.detail.userInfo,
                showModal: true,
                // onOff: true
                isHide: false,

            })


        } else {
            //用户按了拒绝按钮
            // wx.showModal({
            //     title: '警告',
            //     content: '您拒绝了授权，将无法登陆小程序，请授权之后再进入!!!',
            //     showCancel: false,
            //     confirmText: '返回授权',
            //     success: function (res) {
            //         // 用户没有授权成功，不需要改变 isHide 的值
            //         if (res.confirm) {
            //             app.log('用户点击了“返回授权”');
            //         }
            //     }
            // });
            this.onLoad()
        }
    },

    // ==================绑定用户 end==========================

    // =======================页面跳转 start =======================


    //事件处理函数
    bindViewTap: function () {
        wx.navigateTo({
            url: '../logs/logs'
        })
    },
    cb: function (e) {
        var that = this
        if ('cb' == e.detail.value) {
            that.setData({
                hasXieyi: true
            })
        } else {
            that.setData({
                hasXieyi: false
            })
        }

    },
    toXieyi: function (e) {
        app.log('打开协议')
        let value = e.currentTarget.dataset.val
        wx.navigateTo({
            url: "/pages/index/shuoming/shuoming?val=" + value
        })
    },

    toJiance: function () {

        if (app.globalData.head.openid.length == 0) {
            app.log('====>>未授权先预览')
            wx.reLaunch({
                url: '/pages/celiang/celiang'
            })
        } else {
            //login
            api.login().then(res => {
                app.log('====>>login回调')
                app.log(res)

                wx.reLaunch({
                    url: '/pages/celiang/celiang'
                })
            })
        }


    },

})
